import { ipcMain, BrowserWindow, app } from 'electron'
import type { IpcMainEvent } from 'electron'

// 获取触发事件的窗口
function getWin(event: IpcMainEvent): BrowserWindow {
  return BrowserWindow.fromWebContents(event.sender)!
}

// 最小化
ipcMain.on('minimize', (event) => {
  getWin(event).minimize()
})

// 最大化
ipcMain.on('maximize', (event) => {
  const win = getWin(event)
  win.isMaximized() ? win.unmaximize() : win.maximize()
})

// 关闭
ipcMain.on('close', (event) => {
  // 如果不是 Mac 直接退出
  if (process.platform !== 'darwin') {
    app.quit()
  } else {
    getWin(event).minimize()
  }
})
